import {getAllUser,startEnable,noEnable,addOrganization,removeOrg,saveEditInfo,
        getAllChild,deleteSub,ableChildEnable,disableChildEnable,saveEditChild,
        addChildInfo,orgConfirmPwd,childConfirmPwd} from '../../../../api/config/config'
import { message } from 'antd';
// const changeMenu = (current) => ({
//   type: constants.CHANGE_MENU,
//   current,
// });

// export const changeMenuOperation = (current) => {
//   return(dispatch) => {
//     dispatch(changeMenu(current));
//   }
// };
const getUsers=(dispatch)=>{
        getAllUser().then(res=>{
                console.log(res)
        const AllUser=res.data.data.list;
        const orgPageNum=Math.ceil(res.data.data.list.length/10);
        dispatch({
                type:'get_All_users',
                AllUser,
                orgPageNum
        }) 
   })
}
export const getAllUsers=()=>{
        return(dispatch)=>{
            getUsers(dispatch);
        }
}
export const ableEnable=(userId)=>{
        return(dispatch)=>{
               startEnable(userId).then(res=>{
                       if(res.status===200){
                        getUsers(dispatch);
                       }
               })
        }
}
export const disableEnable=(userId)=>{
        return(dispatch)=>{
              noEnable(userId).then((res)=>{
                if(res.status===200){
                        getUsers(dispatch);
                       }
              })
        }
}
export const addOrg=(addValues)=>{
        return (dispatch)=>{
                addOrganization(addValues).then((res)=>{
                        if(res.status===200){
                                console.log(res)
                                message.success(res.data.metaData.message)
                            if(res.data.metaData.success===false){
                                    message.error(res.data.meta.message);
                                    return
                            }
                            getUsers(dispatch);
                        }
                })
        }
}
export const removeFirst=(userId)=>{
        return (dispatch)=>{
                removeOrg(userId).then(res=>{
                        if(res.status===200){
                                console.log(res);
                                getUsers(dispatch);
                        }
                })
        }
}
export const saveEdit=(editValue)=>{
        return (dispatch)=>{
                saveEditInfo(editValue).then(res=>{
                        if(res.status===200){
                          console.log(res);
                          getUsers(dispatch);
                        }
                })
        }
}
export const orgResetPwd=(pwdValue)=>{
        return(dispatch)=>{
                orgConfirmPwd(pwdValue).then(res=>{
                        if(res.status===200){
                                 message.success('修改成功')
                        }
                })
        }
}
const getChild=(dispatch,userId)=>{
        getAllChild(userId).then(res=>{
                if(res.status===200){
                        console.log(res)
                const childPageNum=Math.ceil(res.data.data.list.length/10);
                     dispatch({
                             type:'get_child_data',
                             childDataSource:res.data.data.list,
                             childPageNum,
                     })
                }
        })
}
export const getChildData=(userId)=>{
        return (dispatch)=>{
           getChild(dispatch,userId)
        }
}
export const deleteChildInfo=(userId)=>{
        return(dispatch)=>{
                deleteSub(userId).then(res=>{
                        if(res.status===200){
                                getChild(dispatch,userId)
                        }
                })
        }
}
export const startChildEnable=(userId,childUserId)=>{
        return(dispatch)=>{
               ableChildEnable(userId).then(res=>{
                       if(res.status===200){
                        getChild(dispatch,childUserId)
                       }
               })
        }
}
export const noChildEnable=(userId,childUserId)=>{
        return(dispatch)=>{
               disableChildEnable(userId).then(res=>{
                       if(res.status===200){
                        getChild(dispatch,childUserId)
                       }
               })
        }
}
export const saveChildEdit=(editValue,childUserId)=>{
        return(dispatch)=>{
                saveEditChild(editValue).then(res=>{
                        if(res.status===200){
                                getChild(dispatch,childUserId)
                        }
                })
        }
}
export const addChildOrg=(addValue,childUserId)=>{
        return(dispatch)=>{
                addChildInfo(addValue).then(res=>{
                        if(res.status===200){
                                getChild(dispatch,childUserId)
                        }
                })
        }
}
export const  childResetPwd=(pwdValue,childUserId)=>{
            return(dispatch)=>{
                    childConfirmPwd(pwdValue).then(res=>{
                            if(res.status===200){
                                    console.log(res)
                            }
                    })
            }
}

